// #include<stdio.h>
// #include<stdlib.h>
//
// int rand = 10;
// int main()
// {
//     printf("%d\n",rand);
//     return 0;
// }

#include <cstdio>
#include <iostream>
#include <memory>
// int a = 0;
//
// namespace zzy
// {
//     int a = 1;
// }
//
// using namespace zzy;
//
// int main()
// {
//     int a = 2;
//     printf("%d\n",a);
//     return 0;
// }

// int b =0;
//
// namespace zzy2
// {
//     int b =1;
// }
//
// int main()
// {
//     int b = 2;
//
//     printf("%d\n",b);
//     printf("%d\n",::b);
//     printf("%d\n",zzy2::b);
// }

// namespace zzy4
// {
//     int a;
//     int b;
//     int ADD(int left, int right)
//     {
//         return left+right;
//     }
//
//     namespace zzy
//     {
//         int c;
//         int d;
//         int Sub(int left, int right)
//         {
//             return left-right;
//         }
//     }
// }
//
// int main()
// {
//     printf("%d\n",zzy4::a);
//     printf("%d\n",zzy4::zzy::c);
//     printf("%d\n",zzy4::ADD(1,2));
//     printf("%d\n",zzy4::zzy::Sub(2,1));
// }

// namespace zzy
// {
//     int a = 0;
//     int b = 1;
//
//     int ADD(int left, int right)
//     {
//         return left+right;
//     }
// }
//
// using zzy::b;
//
// using namespace zzy;
//
// int main()
// {
//     printf("%d\n",zzy::a);
//     printf("%d\n",b);
//     ADD(20,30);
//     return 0;
// }
// #include <iostream>
//
// using namespace std;
//
// int main()
// {
//     cout << "Hello World"<<endl;
//
//     int a;
//     double b;
//     char c;
//
//     cin>>a;
//     cin>>b>>c;
//
//     cout<<a<<endl;
//     cout<<b<<" "<<c<<endl;
//     return 0;
// }
//
// using std::cout;
// using std::endl;

// using namespace std;
// void Func(int a = 0)
// {
//     cout << a << endl;
// }
//
// int main()
// {
//     Func();
//     Func(10);
//
//     return 0;
// }

// struct Stack
// {
//     int *a;
//     int top;
//     int capacity;
// };
//
// void StackInit(struct Stack *pst, int defaultcapacity = 4)
// {
//     pst->a = (int*)malloc(sizeof(int)*defaultcapacity);
//     if(pst->a == NULL)
//     {
//         perror("malloc fail");
//         return;
//     }
//     pst->top = 0;
//     pst->capacity = defaultcapacity;
// }
//
// int main()
// {
//     struct Stack st1;
//     StackInit(&st1,100);
//
//     struct Stack st2;
//     StackInit(&st2);
//
//     return 0;
// }

using namespace std;

void Func(int a = 10, int b = 20, int c = 30)
{
    cout << "a= " << a << endl;
    cout << "b= " << b << endl;
    cout << "c= " << c << endl;
}

int main()
{
    Func();
    Func(1);
    Func(1,2);
    Func(1,2,3);
    // Func(1,,3);
}
//a.h
void Func(int a = 10);
//a.cpp
void Func(int a = 20);

